﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entity.Framework;
using Business.Operations;

namespace HPDMAS.UserControls
{
    public partial class LigKayit : System.Web.UI.UserControl
    {
        private List<string> takimSayisiListesi;
        private List<string> oyuncuSayisiListesi;
        private List<string> yedekOyuncuSayisiListesi;
        private List<string> oyuncuDegisikligiSayisiListesi;
        private List<string> musabakaSuresiListesi;
        private List<string> uzatmaSuresiListesi;
        private List<string> sahaKaleOlcusuListesi;
        private Lig lig;
        /// <summary>
        /// Kontrollere karşılık gelen değişkenler
        /// </summary>
        public int sehirId;
        private string _ligAdi;
        private string _takimSayisi;
        private string _oyuncuSayisi;
        private string _yedekOyuncuSayisi;
        private string _oyuncuDegisikligiSayisi;
        private string _musabakaSuresi;
        private string _uzatmaSuresi;
        private string _sahaKaleOlcusu;
        /// <summary>
        /// Kontrollere bağlı değişkenler
        /// </summary>
        private int _ligId;

        protected void Page_Load(object sender, EventArgs e)
        {
            ddlTakimSayisiDoldur();
            ddlOyuncuSayisiDoldur();
            ddlYedekOyuncuSayisiDoldur();
            ddlOyuncuDegisikligiSayisiDoldur();
            ddlMusabakaSuresiDoldur();
            ddlUzatmaSuresiDoldur();
            ddlSahaKaleOlcusuDoldur();
        }

        private void ddlTakimSayisiDoldur()
        {
            takimSayisiListesi = new List<string>();

            for (int i = 5; i <= 25; i++)
            {
                takimSayisiListesi.Add(i.ToString());
            }

            ddlTakimSayisi.DataSource = takimSayisiListesi;
            ddlTakimSayisi.DataBind();

        }

        private void ddlOyuncuSayisiDoldur()
        {
            oyuncuSayisiListesi = new List<string>();

            for (int i = 11; i <= 30; i++)
            {
                oyuncuSayisiListesi.Add(i.ToString());
            }

            ddlOyuncuSayisi.DataSource = oyuncuSayisiListesi;
            ddlOyuncuSayisi.DataBind();
        }

        private void ddlYedekOyuncuSayisiDoldur()
        {
            yedekOyuncuSayisiListesi = new List<string>();

            for (int i = 3; i <= 15; i++)
            {
                yedekOyuncuSayisiListesi.Add(i.ToString());
            }

            ddlYedekOyuncuSayisi.DataSource = yedekOyuncuSayisiListesi;
            ddlYedekOyuncuSayisi.DataBind();
        }

        private void ddlOyuncuDegisikligiSayisiDoldur()
        {
            oyuncuDegisikligiSayisiListesi = new List<string>();

            for (int i = 3; i <= 15; i++)
            {
                oyuncuDegisikligiSayisiListesi.Add(i.ToString());
            }
            oyuncuDegisikligiSayisiListesi.Add("Sınırsız");
            ddlOyuncuDegisikligiSayisi.DataSource = oyuncuDegisikligiSayisiListesi;
            ddlOyuncuDegisikligiSayisi.DataBind();
        }

        private void ddlMusabakaSuresiDoldur()
        {
            musabakaSuresiListesi = new List<string>();

            musabakaSuresiListesi.Add("2x15 dk");
            musabakaSuresiListesi.Add("2x30 dk");
            musabakaSuresiListesi.Add("2x35 dk");
            musabakaSuresiListesi.Add("2x40 dk");
            musabakaSuresiListesi.Add("2x45 dk");
            ddlMusabakaSuresi.DataSource = musabakaSuresiListesi;
            ddlMusabakaSuresi.DataBind();
        }

        private void ddlUzatmaSuresiDoldur()
        {
            uzatmaSuresiListesi = new List<string>();

            uzatmaSuresiListesi.Add("2x10 dk");
            ddlUzatmaSuresi.DataSource = uzatmaSuresiListesi;
            ddlUzatmaSuresi.DataBind();
        }

        private void ddlSahaKaleOlcusuDoldur()
        {
            sahaKaleOlcusuListesi = new List<string>();

            sahaKaleOlcusuListesi.Add("Normal");
            ddlSahaKaleOlcusu.DataSource = sahaKaleOlcusuListesi;
            ddlSahaKaleOlcusu.DataBind();
        }

        protected void btnLigEkle_Click(object sender, EventArgs e)
        {
            try
            {
                LigEkle();
                Session["kaydedildiMesaji"] = "Sisteme başarıyla kaydoldunuz.";
                Response.Redirect("~/IHKBaskani/KayitTamamlandi.aspx");
            }
            catch (Exception ee)
            {
                Session["hataMesaji"] = "Hata oluştu.<br />Hata mesajı: " + ee.Message;
                Response.Redirect("~/HataSayfasi.aspx");
            }
        }

        private void LigEkle()
        {
            KontrolleriDegiskenlereAta();
            lig = new Lig();
            lig.LigAdi = _ligAdi;
            lig.LigTakimSayisi = _takimSayisi;
            lig.LigOyuncuSayisi = _oyuncuSayisi;
            lig.LigYedekOyuncuSayisi = _yedekOyuncuSayisi;
            lig.LigOyuncuDegisikligiSayisi = _oyuncuDegisikligiSayisi;
            lig.LigMusabakaSuresi = _musabakaSuresi;
            lig.LigUzatmaSuresi = _uzatmaSuresi;
            lig.LigSahaKaleOlcusu = _sahaKaleOlcusu;
            LigOperation.LigInsert(lig);

            _ligId = LigOperation.LigIdGetByLigAdi(_ligAdi);

            LigSehir ligSehir = new LigSehir();
            ligSehir.LigID = _ligId;
            ligSehir.SehirID = sehirId;
            LigSehirOperation.LigSehirInsert(ligSehir);
        }


        private void KontrolleriDegiskenlereAta()
        {
            _ligAdi = txtLigAdi.Text.Trim();
            _takimSayisi = ddlTakimSayisi.SelectedValue;
            _oyuncuSayisi = ddlOyuncuSayisi.SelectedValue;
            _yedekOyuncuSayisi = ddlYedekOyuncuSayisi.SelectedValue;
            _oyuncuDegisikligiSayisi = ddlOyuncuDegisikligiSayisi.SelectedValue;
            _musabakaSuresi = ddlMusabakaSuresi.SelectedValue;
            _uzatmaSuresi = ddlUzatmaSuresi.SelectedValue;
            _sahaKaleOlcusu = ddlSahaKaleOlcusu.SelectedValue;
        }

    }
}